package stylistcrm.core.services.user.profile;

import com.buybuyyi.stylistcrm.Entity;
import stylistcrm.core.services.user.EnumUserType;

import java.util.Date;

/**
 * Created by yanwc on 2016/8/31.
 */
public abstract class UserProfile extends Entity<Long> {

    private String nickName;

    private String headImageUrl;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 生日
     */
    private Date birthDay;

    /**
     * 性别
     */
    private Gender gender;

    /**
     * 电话号码
     */
    private String cellPhone;

    private boolean isAdmin;

    /**
     * 银行卡信息
     */
    private String bankAccountNumber;

    /**
     * 通用账号id
     */
    private Long secUserId;

    public boolean isAdmin() {
        return isAdmin;
    }

    public void setAdmin(boolean admin) {
        isAdmin = admin;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getHeadImageUrl() {
        return headImageUrl;
    }

    public void setHeadImageUrl(String headImageUrl) {
        this.headImageUrl = headImageUrl;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

    public Gender getGender() {
        return gender;
    }

    public void setGender(Gender gender) {
        this.gender = gender;
    }

    public String getCellPhone() {
        return cellPhone;
    }

    public void setCellPhone(String cellPhone) {
        this.cellPhone = cellPhone;
    }

    public String getBankAccountNumber() {
        return bankAccountNumber;
    }

    public void setBankAccountNumber(String bankAccountNumber) {
        this.bankAccountNumber = bankAccountNumber;
    }

    public Long getSecUserId() {
        return secUserId;
    }

    public void setSecUserId(Long secUserId) {
        this.secUserId = secUserId;
    }

    /**
     * 判断用户是否为指定类型的用户
     * @param type
     * @return
     */
    public abstract boolean isUserType(EnumUserType type);

}
